package com.zr.d_c.service;

import com.zr.d_c.model.Dish;

import net.sf.json.JSONObject;
/**
 * 菜品的相关服务
 * @author Administrator
 *
 */
public interface DishService {
	/**
	 * 通过商家sid查询菜品
	 * @param sid 商家sid
	 * @return 返回菜品jsonobject
	 */
	public JSONObject getDishBySid(int sid,int start,int pageSize);
	
	/**
	 * 通过商家sid和菜名查询菜品
	 * @param sid 商家sid
	 * @param dname 菜品名
	 * @return  返回菜品jsonobject
	 */
	public JSONObject getDishBySidAndDname(int sid,String dname,int start,int pageSize);
	
	/**
	 * 添加菜品，通过商家sid添加到商家菜单下
	 * @param dish 菜品实体
	 * @param sid 商家sid
	 * @return 成功返回 true ，失败返回false
	 */
	public boolean insertDish(Dish dish,int sid);
	
	/**
	 * 修改菜品
	 * @param dish 修改信息，包含需要修改的菜品did
	 * @param sid 商家sid 
	 * @return 成功返回 true ，失败返回false
	 */
	public boolean modifyDish(Dish dish,int sid);

	/**
	 * 重载菜品修改 通过菜品信息直接修改
	 * @param dish 菜品修改信息，包含需要修改的菜品did
	 * @return 成功返回 true ，失败返回false
	 */
	public boolean modifyDish(Dish dish);
	
	/**
	 * 通过菜品did将菜品isdelete属性变为true
	 * @param did 菜品did数组
	 * @return 全部成功则返回true 失败返回false
	 */
	public boolean deleteDishByDid(int did[]);
	
	/**
	 * 批量添加数据
	 * @param path 文件路径
	 * @param sid 商家sid
	 * @return 成功返回true
	 */
	public boolean insertAllDish(String path,int sid);
	
	/**
	 * 上传图片路径
	 * @param path 图片路径
	 * @param did 菜品did
	 * @return 有相同名称的菜品返回0，失败返回-1，成功返回1
	 */
	public int insertImageDish(String path,int did);
	
	
	/**
	 * 根据菜品id得到菜品信息
	 * @param did 菜品id
	 * @return 菜品信息
	 */
	public Dish getDishByDid(int did);
	
	/**
	 * 订单生成成功更新商家菜品的数量
	 * @param did 菜品id
	 * @param dnum 菜品新数量
	 */
	public void modifyDnum(int did,int dnum);
	
	/**
	 * 根据商家id和菜品名字查找菜品信息
	 * @param sid 商家id
	 * @param dname 菜品名字
	 * @return 菜品信息
	 */
	public Dish getDishBySidAndDname(int sid, String dname);
}

